<?php 

global $errors;

if(!logged_in()){

	if (isset($_POST['username_login'],$_POST['password_login'])){
		
		if(empty($_POST['username_login']) && empty($_POST['password_login']) && empty($_POST['username']) && empty($_POST['telefono']) && empty($_POST['mail']) && empty($_POST['password'])){
			$errors['login'] = gettext("Usted no esta logueado, debe ingresar los campos para loguearse ó registrarse en el sitio"); 
		}
	
		$username = $_POST['username_login'];
		$password = $_POST['password_login'];
		
		$usernameRegistro = $_POST['username'];
		$passwordRegistro = $_POST['password'];
		$telefono = $_POST['telefono'];
		$mail = $_POST['mail'];
		$tipo = $_POST['tipo_usuario'];
		$passwordRegistroRep = $_POST['password_rep'];
		$nombre = "nombre";
		$barrio = "";
	
		if ((empty($username) && !empty($password)) || (!empty($username) && empty($password))){
			$errors['password_login'] = gettext("Debe ingresar tanto nombre de usuario como contraseña");
		} elseif (!empty($username) && !empty($password)){
			if (login_check($username,$password)) {
				$usuario = obtener_usuario_por_username( $username);
				if (strpos($username,'@') !== false) {
					$usuario = obtener_usuario_por_mail( $username);
				} else {
					$usuario = obtener_usuario_por_username( $username);
				}
				$_SESSION['username'] =  $usuario['username'];
				$_SESSION['usuario_id'] = $usuario['usuario_id'];	
			} else {
				$errors['username_login'] = gettext("Nombre de usuario o email o contraseña incorrecta");
			}
		} elseif (!empty($usernameRegistro)){
			
			if (empty($mail) || empty($passwordRegistro)){		
				
				$errors['mail'] = gettext("Valor requerido");
				$errors['password'] = gettext("Valor requerido");
			
			} else {
			
				if (filter_var($mail, FILTER_VALIDATE_EMAIL) === false){
					$errors['mail'] = gettext("Direccion de email invalida");
				}
				if (user_exists($usernameRegistro)){
					$errors['username'] = gettext("El nombre de usuario elegido ya esta registrado");
				}
				if (existe_email($mail)){
					$errors['mail'] = gettext("El email ingresado ya se encuentra registrado");
				}
				if (!($passwordRegistro == $passwordRegistroRep)){
					$errors['password'] = gettext("Las contraseñas ingresadas no son iguales");
					$errors['password_rep'] = gettext("Las contraseñas ingresadas no son iguales");
				}
				if (!fnValidateAlphanumeric($usernameRegistro)){
					$errors['username'] = gettext("El nombre de usuario tiene formato inválido. Solo letras y números son permitidos");
				}
				if (strlen($usernameRegistro) > 30 || strlen($usernameRegistro) < 4){
					$errors['username'] = gettext("La longitud del nombre de usuario tiene que ser mayor a 3 y menor que 31 caracteres");
				}
				if( !empty($telefono) && !fnValidateNumeric($telefono)){
					$errors['telefono'] = gettext("El telefono debe contener solo numeros");
				}
				if ( strlen($telefono) > 20){
					$errors['telefono'] = gettext("La longitud máxima del teléfono es de 20 digitos");
				}	
				
				global $desdeIndex;
				if ($desdeIndex){
					$provinciaId = $_POST['provincia'];
					$ciudadId = $_POST['ciudad'];
					if ( $provinciaId == -2){
						$errors['provincia'] = gettext("Debe seleccionar su provincia");
					}
					if ( $ciudadId == -2){
						$errors['ciudad'] = gettext("Debe seleccionar su ciudad");
					}
				}
				
			}
			
			if (empty($errors)){
				$usuario_id = nuevo_usuario($usernameRegistro, $nombre, $telefono, $mail, $passwordRegistro, $tipo, $barrio, ($desdeIndex) ? $ciudadId : null);
				if($usuario_id != 0){
					registrar_mail_registro($usuario_id);
					$_SESSION['username'] = $usernameRegistro;
					$_SESSION['usuario_id'] = $usuario_id;
					$_SESSION['mensaje'] = gettext("¡Bienvenido ") .$usernameRegistro. "!. ".gettext("En minutos recibirá un mail de bienvenida, revise su correo electrónico no deseado en caso de no recibirlo");					
				}
			}
			
		}
	}
}
?>